The present invention relates to program debugging and, more specifically, to automated debugging with combined static and dynamic analysis.
Debugging is notoriously difficult and can account for up to seventy percent of a program's development effort. Manual debugging, in which a programmer manually examines code, sometimes within an integrated development environment (IDE), can be a time-consuming and frustrating process. To ease the pain of debugging, some automated debugging tools exist.
Static analysis tools, such as BEAM or the lint Unix utility, can scan source code for potential problems. Compiler-generated diagnostic code, such as the COBOL ZONECHECK function, which is specific to International Business Machines® Enterprise COBOL, can be included in a program for debugging the program as it runs. Dynamic analysis tools, such as PurifyPlus, check for common runtime issues, including memory leaks in C and C++ programs, for example. These, among other tools, can assist with the debugging effort.